﻿using FluentNHibernate.Mapping;

namespace Business.Entity.Contabil.Pessoa.SubClass.Usuario
{
    public class UsuarioMap : ClassMap<Usuario>
    {
        public UsuarioMap()
        {
            Id(x => x.Id).GeneratedBy.Sequence("sqUsuario").Not.Nullable().Unique();
            References(x => x.Pessoa).Column("pessoa_id").Not.Nullable().Unique();

            Map(x => x.Login).Not.Nullable().Unique();
            Map(x => x.Senha).Not.Nullable();
            Map(x => x.TipoUsuario).CustomType<int>();
            Map(x => x.UsaLocadora);
            Map(x => x.UsaRetaguarda);
            Map(x => x.UsaVendaMercearia);
            Map(x => x.UsaVendaRestaurante);
            Map(x => x.Status);

            HasMany(x => x.PermissoesFormulario).Cascade.All();
            HasMany(x => x.PermissoesRelatorio).Cascade.All();

        }
    }
}
